home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1998 April / EnigmA AMIGA RUN 26 (1998)(G.R. Edizioni)(IT)[!][issue 1998-04].iso / earcd / giochi / adoom / adoom.readme < prev    next >
Text File  |  1998-03-15  |  45KB  |  1,206 lines

  1. Short: Amiga port of DOOM v1.2
  2. Author: Peter McGavin  (p.mcgavin@irl.cri.nz)
  3. Type: game/shoot
  4. Uploader: Peter McGavin  (p.mcgavin@irl.cri.nz)
  5.  
  6.  
  7.  
  8.                             ADoom  1.2                     12 Mar 1998
  9.                             ----------
  10.  
  11.  
  12. This archive contains an Amiga port of DOOM, compiled as directly as
  13. possible from ID Software's Linux DOOM source code.
  14.  
  15. On 26th Dec 1997 I learnt that ID Software released the source code of
  16. DOOM and made it available by ftp.  So I immediately downloaded it and
  17. tried compiling it with SAS/C 6.58 for the Amiga.  This archive
  18. represents my results after about 30 evenings and 6 days.  I used
  19. source code sent to me by Aki Laukkanen, Arto Huusko, Joseph Fenton,
  20. Cyril Deble and others.  I am now back to my full time job and only
  21. have time to work on ADoom in spare evenings and weekends.
  22.  
  23. You can get the original ID Software Linux DOOM source from:
  24.  
  25.    ftp://ftp.cdrom.com/pub/idgames/idstuff/source/doomsrc.zip
  26.  
  27. Source code of ADoom, which includes all my changes, is in a separate
  28. archive on Aminet.
  29.  
  30. ADoom is OS-friendly and multitasks.
  31.  
  32. ADoom puts up an ASL requester for the ScreenMode.
  33.  
  34. Sound effects, ECS support and 68040-optimised C2P are included since
  35. version 0.1.  Version 0.4 adds 68020-optimised blitter-assisted C2P
  36. and double-buffering.  Version 0.5 adds music.  Version 0.6 adds
  37. 68030-optimised blitter-assisted C2P.
  38.  
  39. From version 1.0 you can run ADoom in higher display resolutions than
  40. 320x200.  For examples, 320x256, 640x480 and 1024x768 all work.  This
  41. is an enhancement which is not available in the original PC DOOM.  Low
  42. detail mode (2x1), which can provide a significant speedup on 68030,
  43. is available and working from ADoom version 0.6.
  44.  
  45. From version 1.0, ADoom supports many features of DeHackEd, a PC
  46. utility which can patch many of DOOM's internal tables according to a
  47. .DEH format configuration file.  ADoom can read .DEH format files and
  48. patch the same internal tables.
  49.  
  50. You can use a joystick in the 2nd gameport from v0.2.
  51.  
  52. AmiTCP network support was added in v0.2, but so far is rather
  53. unstable and slow, even with a direct ethernet connection between 2
  54. fast Amigas.  Experimental support for a raw protocol over a
  55. null-modem cable and for ethernet IPX were added in v0.9.
  56.  
  57. Thanks to several people who sent me icons for ADoom.  I put them in
  58. the more_icons subdirectory in this archive.
  59.  
  60.  
  61.  
  62. REQUIREMENTS:
  63. -------------
  64.  
  65. A 68020+ Amiga running at least OS 3.0, with at least about 4 Mb of
  66. fastmem.
  67.  
  68. ADoom works with gfx-cards, or with AGA or ECS (EHB) using C2P.
  69.  
  70. Unless you have 68040+, you should have an ECS or AGA Agnus chip or a
  71. gfx-card.  Theoretically the combination of 68020 or 68030 with OCS
  72. won't work because OCS Agnus can't do long blits used by the 020/030
  73. C2P routine.  On the other hand, two different people wrote to me that
  74. ADoom worked just fine for them with 68020/30 + OCS --- weird.
  75.  
  76. A Zorro3 (or faster) graphics card, CyberGraphics, at least 8 Mb
  77. fastmem and a 68040+ are recommended.
  78.  
  79. A 68040+ and ethernet are recommended for networking.
  80.  
  81. I use a stack size of 150000 bytes, but that's probably overkill.  I
  82. don't know what the stack requirements really are yet.  It's almost
  83. certainly less than 4096 bytes (because it worked OK from the icon
  84. when I forgot to set the stacksize).
  85.  
  86. An FPU is neither required nor used (except on 68060).
  87.  
  88. An MMU is neither required nor used (except -mmu option on 68040/68060).
  89.  
  90. --------------------------------------------------------------------
  91. | YOU NEED TO GET A MAIN WAD FILE THAT WORKS WITH LINUX DOOM AND   |
  92. | PUT IT IN THE SAME DIRECTORY AS ADOOM.                           |
  93. --------------------------------------------------------------------
  94.  
  95. Otherwise you get the message:  "Error: W_InitFiles: no files found"
  96.  
  97.  
  98.  
  99. THE MAIN WAD FILE:
  100. ------------------
  101.  
  102. The main WAD file contains all the episode and level maps, graphics,
  103. sound effects and music for a version of DOOM.  ADoom by itself is
  104. just a file parser and 3D texture-mapping engine.  A main WAD file has
  105. one of the following names:
  106.  
  107.         DOOM2.WAD
  108.         DOOMU.WAD
  109.         DOOM.WAD
  110.         DOOM1.WAD
  111.         PLUTONIA.WAD
  112.         TNT.WAD
  113.         DOOM2F.WAD
  114.  
  115. ADoom loads the first one it finds in the program directory from the
  116. above list.
  117.  
  118. If your main WAD file is in a different directory to ADoom, you can
  119. set the DOOMWADDIR environment variable to the directory containing
  120. your main WAD file.  E.g,
  121.  
  122.         setenv DOOMWADDIR work:games/adoom/plutonia/
  123.  
  124. The main WAD file can be either shareware or registered.
  125.  
  126. Not all main WAD files work.  It seems that some older WAD files are
  127. rejected because they leave out some information that ADoom requires.
  128. In particular, early registered DOOM main WADs do not work.  I think
  129. these same WAD files fail to work in Linux DOOM.
  130.  
  131. It is possible to upgrade at least some old main WAD files using
  132. freely available patches from ftp://ftp.idsoftware.com/idstuff/doom/.
  133. You need a PC to apply the patches.  (Well it would probably work in
  134. PC-Task, but the upgrade procedure is slow on a Pentium.)  I'm told
  135. that early registered DOOM WADs can be upgraded to Ultimate DOOM,
  136. which works in ADoom.
  137.  
  138. DOOM1.WAD from "http://surf.to/adoom/" works fine, as should the
  139. latest shareware WADs from ID Software's WWW site.  I was told that at
  140. least some Macintosh WADs work too, as does the registered DOOM II
  141. WAD.  Playstation WADs do not work, neither do WADs from DOOM
  142. derivatives such as Hexen and Heretic.
  143.  
  144. Be careful if you rename your main WAD file.  DOOM behaves differently
  145. depending on the filename and expects the main WAD file to have
  146. different contents.  If DOOM can't find what it is looking for in the
  147. WAD file, it will fail.
  148.  
  149. On the other hand, several people said they got the 4th episode of
  150. Ultimate DOOM to work by changing the name of the WAD file to
  151. DOOMU.WAD.
  152.  
  153.  
  154.  
  155. PATCH WADS:
  156. -----------
  157.  
  158. There are literally thousands of third-party WADs in the public
  159. domain.  They are mostly "patch" WADs, or PWADs, so called because
  160. they patch parts of a main WAD.  Patch WADs can change specific
  161. levels, graphics and sounds in the game.  For example, they can turn
  162. the rocket launcher into a chicken launcher, turn enemies into Star
  163. Wars storm troopers, rearrange a level to resemble a scene from
  164. Aliens, change the music to a xmas jingle, and so on.  Patch WADs
  165. require a separate *registered* main WAD to work.
  166.  
  167. To use a patch WAD, you must have a *registered* main WAD in the
  168. program directory as well.  Then you should start ADoom with the -file
  169. option specifying the patch WAD, e.g:
  170.  
  171.         ADoom -file Satan666.wad
  172.  
  173. The -file option doesn't work if you only have a shareware main WAD.
  174.  
  175. Many patch WADs are designed for use with a particular main WAD, such
  176. as DOOM2.WAD.  In that case they will not work with any other main
  177. WAD.
  178.  
  179. Do not use -file for the main WAD file, only for patch WAD files.
  180.  
  181. If a patch WAD is in a different directory, you can give the full
  182. path to the patch WAD, e.g,
  183.  
  184.         ADoom -file work:games/patchwads/patch1.wad
  185.  
  186. If you want to apply several patch WADs at once, put them all after a
  187. single -file argument, e.g,
  188.  
  189.         ADoom -file patch1.wad patch2.wad patch3.wad
  190.  
  191. A few third-party patch WADs don't work with -file.  Instead they are
  192. used with a PC utility such as DEUSF.EXE to modify a main WAD file on
  193. disk.  For these it is necessary to patch the main WAD file on a PC,
  194. then transfer the modified main WAD to the Amiga, then run ADoom
  195. without -file.  An example is h2h-xmas.zip.
  196.  
  197. Many people have asked me which WADs work and which don't, but I'm
  198. afraid the above is about all I know at the moment.
  199.  
  200.  
  201.  
  202. HELP, I'M SWAMPED WITH E-MAIL:
  203. ------------------------------
  204.  
  205. Thanks for all your e-mails about ADoom.  I enjoy reading them.
  206.  
  207. However please note that I received upwards of 40 messages per day for
  208. several days.  Now I'm back to my full-time job, so I only get time to
  209. work on ADoom and catch up on e-mail on my spare evenings and
  210. weekends.  I apologise in advance if you don't receive a reply.
  211.  
  212. Yes I know the Descent source is out.  At least 14 people told me.
  213. Sorry I don't have time to port it right now.  There are a couple of
  214. ports done by other people already...
  215.  
  216. And no, ADoom wouldn't be any faster if it used the FPU, because DOOM
  217. doesn't do any floating-point arithmetic...
  218.  
  219.  
  220.  
  221. SPEEDING UP DISK LOADING:
  222. -------------------------
  223.  
  224. Several people reported ADoom taking 10 minutes or more to load the
  225. WAD file at the start of the game.  Really it should only take 10 or
  226. 20 seconds or so.  If you find it's too slow, try adding more disk
  227. buffers with the AmigaDOS ADDBUFFERS command.  Adding 300 buffers can
  228. vastly increase the disk-loading speed.
  229.  
  230. One person recommended DynamiCache instead, but I haven't tried that.
  231.  
  232. There are more hints on this topic in the UserHints.txt file.
  233.  
  234.  
  235.  
  236. RESOLUTION:
  237. -----------
  238.  
  239. ADoom works by default in 320x200 resolution.  From version 1.0 you
  240. can select higher resolutions with the -width and -height options
  241. or the WIDTH and HEIGHT icon tooltypes.  For example, the
  242. command-line:
  243.  
  244.     ADoom -width 640 -height 480
  245.  
  246. runs ADoom in 640x480 resolution.  When the ScreenMode requester comes
  247. up, you should then select a 640x480 mode.  640x480 is highly
  248. detailed, but runs only slowly unless you have a 68060.
  249.  
  250. You should always choose a width that is a multiple of 64 (AGA) or 32
  251. (ECS or gfx-card).
  252.  
  253. In any resolution you can flip between high-detail (1x1) and
  254. low-detail (2x1) modes during play in the Options Menu or by pressing
  255. F5.
  256.  
  257. The maximum resolution supported is 1600x1280, which shows incredible
  258. detail but runs like molasses even on a 68060.
  259.  
  260. Note that 640x400 in ADoom is different to 640x400 in MacDOOM and
  261. ShapeShifter.  ADoom in 640x400 uses 1x1 (or 2x1 in low detail)
  262. pixels.  MacDOOM in ShapeShifter uses 2x2 pixels.
  263.  
  264.  
  265.  
  266. MUSIC:
  267. ------
  268.  
  269. ADoom supports music based on .MUS-player source code sent to me by
  270. Joseph Fenton <jlfenton@ctaz.com> of MicroCode Solutions.  Music
  271. requires an extra file not included in the archive because of its
  272. size.  You should download ADoom_Instr.lha from Aminet and unpack the
  273. file MIDI_Instruments into your ADoom program directory.
  274.  
  275. Music is disabled by default because the MIDI_Instruments file is
  276. distributed separately.  From version 1.2 you must also have
  277. ADoom_SndSrvr in the program directory for music.  Once you have the
  278. MIDI_Instruments and ADoom_SndSrvr files, enable music with the -music
  279. option or MUSIC tooltype.
  280.  
  281. Joe greatly improved the MIDI_Instruments file over the version
  282. supplied with ADoom 0.5.
  283.  
  284. Joe says "You might want to give my brother Michael some credit as
  285. well, he wrote the event handling and the Player Interface code; I did
  286. the PlayNote and interrupt audio engine and instruments".
  287.  
  288. Enabling music adds to the atmosphere, but it also slows the game down
  289. and leaves only 2 channels for sound effects.  Without the music you
  290. get 4 channels for sound effects.
  291.  
  292. From version 0.6 you can disable all sound effects with -nosfx or the
  293. NOSFX icon tooltype.  That leaves audio channels free so you can use
  294. your own music player in the background.
  295.  
  296. For version 1.2, Joe Fenton completely rewrote the music and sound
  297. effects code.  The new version in ADoom_SndSrvr supports up to 16
  298. simultaneous sounds and does proper stereo panning for both music and
  299. sound effects.  You must have the file ADoom_SndSrvr in your ADoom
  300. program directory, otherwise ADoom uses the old built-in sound effects
  301. code and no music.  ADoom loads ADoom_SndSrvr when it finds it.  You
  302. shouldn't run ADoom_SndSrvr yourself.  You still need MIDI_Instruments
  303. and -music for music.  ADoom_SndSrvr is designed to be replaceable
  304. with versions supporting AHI or real MIDI.  It is also designed to be
  305. used with PPC ports of ADoom.
  306.  
  307. Here's what Joe Fenton says about the new ADoom_SndSrvr:
  308.  
  309. "The sound server is a bit slower, but gives you
  310. table looked up volume (for perfect volume control),
  311. full stereo panning, 16 stereo sound effects and
  312. 16 channel stereo music.  The SoundServer is
  313. completely independent of the program so it
  314. should be easy to make different servers for 16b
  315. sound cards, MIDI, etc.
  316.  
  317. "The initial server is Amiga audio; I will probably do an
  318. AHI server, a Toccata server, and a MIDI server.  If I had
  319. GMPlay or knew how to program it, I could do a GMPlay
  320. server too."
  321.  
  322.  
  323.  
  324. KEYBOARD:
  325. ---------
  326.  
  327. Most keys are mapped the same as on a PC.  However the Amiga doesn't
  328. have F11, F12 and PAUSE keys.  On the Amiga, press '[' or DEL for F11,
  329. ']' for F12 and HELP for PAUSE.
  330.  
  331. Many people complained about the keyboard layout, especially CTRL for
  332. FIRE.  It's possible to customise the keymap in .doomrc --- see
  333. UserHints.txt.
  334.  
  335. In version 0.6 I changed the Right-Amiga key to send the same code as
  336. CTRL (was the same as Right-Alt in 0.5) and I disabled the Left-Amiga
  337. key so screen-flipping doesn't set things off.  Someone just pointed
  338. out this wasn't such a good idea.  AmigaOS uses Right-Amiga and arrows
  339. together for moving the mouse pointer when you don't have a mouse.
  340.  
  341. From version 1.0 ADoom is sensitive to international keyboards.  I am
  342. unable to test this, however.
  343.  
  344. From version 1.0, you can use the numeric keypad for controlling your
  345. player by default.  The keypad keys 4,5,6 & 8 control movement and
  346. direction.  The keypad keys 1,3,7 & 9 can be used for strafe.  (These
  347. controls can be overridden in .doomrc.)
  348.  
  349. From version 1.2, '<' and '>' can be used for strafe as well as ','
  350. and '.'.  Hopefully that fixes the problem with run and strafe at the
  351. same time.  Also, you no longer need SHIFT-numeric to change weapons
  352. on French keyboards.  And DEL can now be used for F11 (gamma
  353. correction).
  354.  
  355. So many people complained about the new keyboard setup from version
  356. 1.0 that in version 1.2 I put in a switch to select the old way.  If
  357. you use -rawkey or the RAWKEY tooltype, the keyboard works the way it
  358. did from version 0.6 to version 0.9.
  359.  
  360.  
  361.  
  362. MOUSE:
  363. ------
  364.  
  365. Mouse support was added in version 0.3, but it is disabled by default.
  366. That's because it slows the game down.  To enable the mouse, start
  367. ADoom with the -mouse option, or use the MOUSE icon tooltype.
  368.  
  369.  
  370.  
  371. CD32 JOYPAD:
  372. ------------
  373.  
  374. Gabry (ggreco@iol.it) emailed me some CD32 joypad handling code.  It
  375. is disabled by default because it requires lowlevel.library.  If you
  376. want to try it, use the -joypad option or JOYPAD tooltype.
  377.  
  378.  
  379.  
  380. SEGA CONTROLLER:
  381. ----------------
  382.  
  383. From version 0.9, I added Joe Fenton's SEGA controller code.  To
  384. enable it, use the -sega3 or -sega6 options or SEGA3 or SEGA6
  385. tooltype.  I have not been able to test this code.  The rest of
  386. this section was written by Joseph Fenton <jlfenton@ctaz.com>:
  387.  
  388. There are two new flags: 
  389. -sega3  look for a 3 button Sega controller.
  390. -sega6  look for a 6 button Sega controller; you MUST use this
  391. on a Sega 6 button controller or it won't work correctly.
  392.  
  393. The button mapping is as follows:
  394. Start = Space (Action)
  395. A      = Strafe Right
  396. B      = Fire
  397. C      = Strafe Left
  398. On the 6 button controller you also get
  399. Mode = Esc (Menu)
  400. X      = Return (Enter/Show last message)
  401. Y      = Shift (Fast/Run)
  402. Z       = Tab (Map on/off)
  403.  
  404. A Sega Genesis controller may be use on the Amiga as long
  405. as you swap lines 5 & 7, and put a 470 ohm resistor
  406. between lines 5 & 7.
  407.  
  408. The controller plug pinout is:
  409.      1   2   3   4   5
  410.         6   7   8   9
  411.  
  412. The best way to switch the lines is to open up the
  413. controller and change them on the circuit card.
  414. Note: doing this will make the controller incompatible
  415. with SEGA equipment; if you make the changes, you
  416. are on your own; I will not be held responsible for any
  417. damage incurred by performing the above procedure.
  418. If you aren't comfortable doing your own conversion
  419. and don't know anyone who can help, DON'T TRY IT!
  420. Get yourself a CD32 joypad.  This is ONLY for people
  421. who know what they are doing and want the range of
  422. controllers available for SEGA equipment.
  423.  
  424.  
  425.  
  426. SAVING THE SCREENMODE:
  427. ----------------------
  428.  
  429. If you don't like the ScreenMode requester every time ADoom runs, you
  430. can save your favourite ScreenMode as an icon tooltype.
  431.  
  432. First, watch the output of ADoom when it starts up and note the
  433. DisplayID of the ScreenMode you selected.  It will be something like
  434. $40420000.  Now click the ADoom icon once and select "Information..."
  435. from the Icons menu.  Click on NEW and type in:
  436.  
  437.   SCREENMODE=$40420000
  438.  
  439. replacing $40420000 with the DisplayID you noted.  Delete any other
  440. SCREENMODE tooltypes.  Finally, click SAVE, and start ADoom again.
  441.  
  442. Alternatively, use -screenmode <screenmode> on the command line, e.g,
  443.  
  444.   ADoom -screenmode $40420000
  445.  
  446.  
  447.  
  448. MEMORY:
  449. -------
  450.  
  451. ADoom has a built-in disk caching system that automatically tries to
  452. keep the most important game information in memory, minimising disk
  453. accesses.  ADoom automatically allocates a 6 Mb block of memory for
  454. the cache if it can, otherwise it tries to allocate the biggest block
  455. it can, bigger than 2 Mb, while still leaving 2 Mb of fastmem free.
  456.  
  457. You can override ADoom's default cache size determination algorithm
  458. with "-heapsize <number>" option or "HEAPSIZE=<number>" icon tooltype,
  459. where <number> is in kilobytes.  If you set the heapsize to less than
  460. about 2000 kb, ADoom might fail to load certain WADs.  The shareware
  461. WAD works with "-heapsize 2000", except for the teleporter at the end
  462. of the last level.
  463.  
  464. Setting the heapsize is useful if you only have a small amount of
  465. memory, or if you want to set aside memory for an enormous cache.  The
  466. smaller the heapsize, the more ADoom will access disk during play.
  467.  
  468. If you have only 4 Mb of fastmem (or less), try "-heapsize 2000" or
  469. even "-heapsize 1000".
  470.  
  471.  
  472.  
  473. FPS COUNTER:
  474. ------------
  475.  
  476. From version 0.8 you can use the -fps option of FPS icon tooltype to
  477. put a continuously updated frames/second counter in the top-left
  478. corner.  From version 0.9 it is in the top-right corner.  Note that
  479. this slows down ADoom slightly.
  480.  
  481. The official way to measure FPS is to use the shareware doom1.wad,
  482. high detail, 2 steps down from max window size, "Adoom -mmu -forcedemo
  483. -timedemo demo3" after a clean reboot and SetPatch, then apply the
  484. formula:
  485.  
  486.     FPS = (gameticks / realticks) * 35
  487.  
  488. By this method, speeds in excess of 31 frames per second have been
  489. reported for ADoom version 0.7 on 68060 Amigas with CyberGraphX.
  490.  
  491. See http://www.balldesi.demon.co.uk/ for the latest speed results of
  492. various Amiga DOOM ports.
  493.  
  494. There was a bug that caused a crash on exit if you used -fps and your
  495. system font was bigger than topaz8.  This is fixed in version 1.2.
  496.  
  497.  
  498.  
  499. ROTATEMAP AND MAPONHU:
  500. ----------------------
  501.  
  502. Cyril Deble <Cyril.Deble@inforoute.cgs.fr> sent me some patches to
  503. make the automap display on the main 3d view and rotate like in Alien
  504. Breed 3D.
  505.  
  506. From ADoom version 0.8 you can use two command lines/icon options
  507.  
  508.  -maponhu : map on headup
  509.  
  510.  -rotatemap : automap rotate
  511.  
  512. Cyril warns:
  513.  
  514. "A small bug accurs when you use a non full screen view with the
  515. automap the border are not refreshed as the border is buffered...  You
  516. have just to change the clipping area of the automap to make it work
  517. ok.
  518.  
  519. "I don't get too much into the code and i don t have time to do any
  520. further change hope it will be usefull for something...  It's rather
  521. nice for me to include it into ADoom and i have noticed no slowdown
  522. while the map is on the 3D view... My config is 060/AGA
  523.  
  524. The bug which didn't rotate "markers" with the map should be fixed in
  525. version 0.9.
  526.  
  527. From version 1.2 you can toggle through various map types by pressing
  528. 'z' while the map is displayed.
  529.  
  530.  
  531.  
  532. DEHACKED:
  533. ---------
  534.  
  535. DeHackEd is a PC utility which patches DOOM's internal tables
  536. according to a .DEH format configuration file.  It can, for examples,
  537. change the attributes of barrels so they float and chase you, make
  538. corpses explode when you shoot them, change the speed and fire-rate of
  539. projectiles, make all enemies look alike, and so on.
  540.  
  541. Patch WADs (used with -file) differ from .DEH files, in that patch
  542. WADs patch a registered WAD file, whereas .DEH files patch the DOOM
  543. program itself.
  544.  
  545. Cyril Deble <Cyril.Deble@inforoute.cgs.fr> sent me some source code
  546. for parsing .DEH format files which I included in ADoom.  Once you
  547. have a .DEH format file, usage is:
  548.  
  549.     ADoom -deh <deh-format-file>
  550.  
  551. .DEH patches are applied to the ADoom program in memory, not
  552. permanently on disk.  There are many .DEH format files in the public
  553. domain.  I put some samples in the deh subdirectory.
  554.  
  555. Please note that not all features of DeHackEd are supported in ADoom.
  556. Version 1.2 implements some new features that were not in 1.1.
  557. (Sorry, Cyril didn't tell me what they are...)
  558.  
  559. Only ASCII (i.e, human readable) .DEH files work.  It may be possible
  560. to convert binary .DEH files to ASCII form with DeHackEd on a PC.
  561.  
  562.  
  563.  
  564. NETWORKING:
  565. -----------
  566.  
  567. ADoom 0.9 supports 3 different network protocols: TCP/IP, IPX and raw
  568. null-modem.
  569.  
  570. Unfortunately ADoom generates a vast amount of network traffic and
  571. loads both the network and the CPU.  I recommend at least a 68040 for
  572. networking.  A fast connection, such as ethernet, helps a lot too.
  573. One slow machine in the network game slows everyone down.
  574.  
  575. The problem getting past the first level of DOOM2 in network mode
  576. unless you specify -deathmatch is fixed in 1.2.
  577.  
  578.  
  579.  
  580. TCP/IP:
  581. -------
  582.  
  583. AmiTCP networking in ADoom is based on the Linux DOOM source code.  It
  584. works between Amigas and also with Linux PCs using TCP/IP on a fast
  585. network.  You need either AmiTCP or Miami on your Amiga for it to
  586. work.  Make sure you are using a recent version of AmiTCP or Miami.
  587. Fast Amigas and a fast connection help a lot too.  It's best over
  588. ethernet and OK over AmigaLink.  It works over a serial line with SLIP
  589. or PPP too, but people with 68030s reported unplayably poor
  590. performance.
  591.  
  592. TCP/IP does not work to PCs running MSDOS or Win95, unless perhaps you
  593. can find a PC version of DOOM compiled from the Linux source code
  594. which supports TCP/IP.  Several people told me Win95Doom TCP/IP does
  595. not work with ADoom.
  596.  
  597. To start ADoom across 2 computers called fred and bob, say:
  598.  
  599.   1:  Make certain both computers are using identical WAD files;
  600.  
  601.   2:  Make certain you can PING fred from bob and vice versa;
  602.  
  603.   3:  On bob, enter:    "ADoom -net 1 fred"
  604.  
  605.   4:  On fred, enter:   "ADoom -net 2 bob"
  606.  
  607.  
  608. If there are 3 computers, called fred, bob and sue, say:
  609.  
  610.   1:  Make certain all 3 computers are using identical WAD files;
  611.  
  612.   2:  Make certain you can PING between all computers by name;
  613.  
  614.   3:  On bob, enter:    "ADoom -net 1 fred sue"
  615.  
  616.   4:  On fred, enter:   "ADoom -net 2 bob sue"
  617.  
  618.   5:  On sue, enter:    "ADoom -net 3 fred bob"
  619.  
  620.  
  621. It's normal for screens to go blank sometimes during the startup phase.
  622.  
  623. On Linux I used DOOM compiled from the source code available from:
  624.  
  625.    ftp://ftp.cdrom.com/pub/idgames/idstuff/source/doomsrc.zip
  626.  
  627.  
  628. I don't know whether other Linux DOOM implementations are compatible.
  629.  
  630. So far I have tested up to 3 computers.  The code is pretty untested
  631. and your mileage may vary.
  632.  
  633.  
  634.  
  635. IPX:
  636. ----
  637.  
  638. IPX is the ethernet protocol used by MSDOS versions of DOOM.  ADoom
  639. uses G.J.Peltenburg's amipx.library version 1.1 or higher for IPX.
  640. You can get this library from Aminet.  After several evenings of
  641. struggling with the library and with checksums and
  642. big-endian/little-endian problems and with version number problems,
  643. the protocol finally seems to work, sort of...
  644.  
  645. Unfortunately I did not foresee another problem.  The PC version of
  646. the DOOM program I've tried so far does not exactly match Linux DOOM,
  647. even when using exactly the same WAD file.  In my experience, the game
  648. often gets out of sync (consistency failure) or quits unexpectedly.
  649. So far I've only used DOOM2 version 1.666 on the PC.  Perhaps version
  650. 1.9 would work better, because that's the PC version recommended for
  651. net-play with MacDOOM.
  652.  
  653. Between 2 fast Amigas, ADoom with IPX works reasonably well using
  654. a2065.device.  Hopefully it also works using ariadne.device and other
  655. Sana2 ethernet devices.
  656.  
  657. First you should install G.J.Peltenburg's amipx.library version 1.1 or
  658. higher (from Aminet) and configure your Network number, Node, Device
  659. driver, Unit number and Frame Type in amipx_prefs.  I use the Frame
  660. Type "Ethernet 802.2" and just set everything else to 0.
  661.  
  662. Note that you need amipx.library at least version 1.1.  Version 1.0
  663. doesn't work.  (Well, v1.0 might work with ariadne.device...)
  664.  
  665. The syntax for starting ADoom with IPX is:
  666.  
  667.   ADoom -netipx <number-of-nodes>
  668.  
  669. For example:
  670.  
  671.   ADoom -netipx 2
  672.  
  673. ADoom automatically waits until the number of nodes specified are
  674. found on the local ethernet, then starts the game.  You should all
  675. specify the same number of nodes and you should all use the same WAD
  676. files and other options.
  677.  
  678. So far I have tested up to 2 Amigas and 1 PC all at once.  The code is
  679. pretty untested and your mileage may vary.
  680.  
  681. If you try IPX between an Amiga and a PC, there are 2 more options you
  682. MUST know about.
  683.  
  684. The -pcchecksum option tells ADoom to calculate net packet checksums
  685. the same way the PC version does.  By default, ADoom calculates net
  686. packet checksums the same way Linux DOOM does, which is different.
  687. (Linux DOOM just sets the net packet checksum to 0.)  If you don't use
  688. -pcchecksum, the PC will reject and ignore (nearly) all game packets.
  689.  
  690. The -forceversion <number> option fools a PC into thinking you are
  691. running a particular version of DOOM.  I use -forceversion 106 with
  692. DOOM2 version 1.666, for example.  The default is -forceversion 110
  693. for version 1.10.  PC DOOM rejects any DOOM program that identifies
  694. itself as a different version number.  Sorry I don't know an easy way
  695. of working out what number you need after -forceversion to impersonate
  696. a particular version of PC DOOM.  Try -forceversion 109 with DOOM2
  697. version 1.9, perhaps.
  698.  
  699. I'm very interested to know your experiences with ADoom between PCs
  700. and Amigas using IPX.
  701.  
  702. I'm told ADoom works with MacDOOM over IPX too, by the way.
  703.  
  704. Thanks to G.J.Peltenburg for sending me the freely available IPX
  705. support source code from ID Software's ftp site, after modifying it
  706. for his amipx.library.
  707.  
  708.  
  709.  
  710. DIRECT NULL-MODEM:
  711. ------------------
  712.  
  713. So many people requested a raw null-modem protocol that I sat down and
  714. implemented it for version 0.9.  Well it was mainly an exercise to
  715. prepare myself for IPX.
  716.  
  717. It only works between 2 Amigas with the serial ports connected by a
  718. null-modem cable.  It uses 7-wire CTS/RTS handshaking, so a simple
  719. 3-conductor cable won't work.  I'm pretty sure null-modem won't work
  720. between an Amiga and a PC, because I made no attempt to match the
  721. protocol.  In other words, it requires 2 Amigas.
  722.  
  723. I suppose it would work between 2 Amigas over a telephone line with
  724. modems.  You would need to manually dial and make the connection
  725. first.  Then you would need to shutdown the connection program before
  726. starting ADoom.  The Hayes modem command at&d0 might be useful for
  727. leaving the modem on-line between shutting down the connection program
  728. and starting ADoom.
  729.  
  730. The ADoom syntax is:
  731.  
  732.   ADoom -netserial <node-number> <serialdevice> <unit> <speed>
  733.  
  734. For example, you could enter:
  735.  
  736.   ADoom -netserial 1 serial.device 0 38400
  737.  
  738. on one Amiga and
  739.  
  740.   ADoom -netserial 2 serial.device 0 38400
  741.  
  742. on the other.  One of the Amigas is always node 1 and the other one
  743. is always node 2.
  744.  
  745. It is not necessary to use serial.device.  In fact artser.device or
  746. 8n1.device, if you have them, probably work more reliably or at higher
  747. speeds than serial.device.
  748.  
  749. I think you should use the highest speed that both Amigas cope with.
  750. My experience is that 38400 is about the limit for 68030 Amigas.  My
  751. 68040 WarpEngine works OK with artser.device at 57600.  If you set the
  752. speed too high, ADoom will probably behave erratically or lock-up
  753. after a while.  If you set the speed too low, I suspect the game will
  754. run only very slowly.
  755.  
  756. The game tends to slow right down when there are lots of active
  757. monsters anyway.  Try -deathmatch -nomonsters perhaps.
  758.  
  759. I recommend you start ADoom on node 2 first.  That's because node 2 is
  760. the "listener" during the setup phase.  If you start ADoom on node 1
  761. first, ADoom on node 2 is likely to open serial.device while node 1 is
  762. part way through sending a setup packet.  That could lead to
  763. synchronisation problems and possible lockups.
  764.  
  765.  
  766.  
  767. CONSISTENCY FAILURE:
  768. --------------------
  769.  
  770. Several people reported their net games ended unexpectedly with a
  771. message like: "Error: consistency failure (24805 should be 24806)"
  772.  
  773. What's going on is that DOOM calculates a kind of checksum of the
  774. game's status --- player and monster positions and that kind of thing
  775. --- and sends it to all the other players in every net packet.  If all
  776. the programs and WADs are identical, then they all calculate exactly
  777. the same checksum.  However, if someone is using a slightly different
  778. WAD version or an incompatible version of DOOM, then a monster might
  779. be one more pixel to the left, say, and the result is "consistency
  780. failure".
  781.  
  782. The test is very precise.  All net nodes must run compatible versions
  783. of DOOM and all must use exactly the same WAD file and game options.
  784. To be compatible, 2 versions of DOOM must provide exactly the same
  785. features.  Furthermore, they must use exactly the same random number
  786. generator and they must round arithmetic calculations exactly the same
  787. way.
  788.  
  789. I have to be careful adding new features to ADoom.  For example, I
  790. can't use the random number generator for anything new, nor can I add
  791. any new features that might change player and monster positions.  If I
  792. optimise anything, I can't make any approximations.  Otherwise ADoom
  793. definitely won't work with PC DOOM any more.  Please keep this in mind
  794. if you send me source code for inclusion in ADoom.
  795.  
  796. (The ideal solution would be to compile DOOM for all different
  797. platforms, MSDOS, Win95, Mac, Linux, Amiga, PSX,... from a single
  798. source.  Then new features can be added simultaneously on all
  799. platforms.  Now there's a job for someone...)
  800.  
  801. I suspect "consistency failure" might also happen if you get network
  802. errors, such as serial line overruns.  Try lowering your serial line
  803. speed, and make sure hardware handshaking is working properly.  Also,
  804. if you all specify -pcchecksum things might be more reliable.  That's
  805. because the default Linux net packet checksum isn't really a checksum
  806. at all.  It's always 0.  So any errors in the net packet are not
  807. detected unless you all use -pcchecksum.  (The net packet checksum is
  808. different to the consistency checksum.)
  809.  
  810.  
  811.  
  812. MISCELLANEOUS NEW OPTIONS:
  813. --------------------------
  814.  
  815. Several new options were added in version 0.9.  Each has a
  816. corresponding tooltype.
  817.  
  818.   -cpu <cpu-type>         force use of routines optimised for, e.g, 68060
  819.  
  820.   -rtg                    forces single-buffering and WritePixelArray8()
  821.  
  822.   -native                 forces use of C2P routine (crashes if not planar)
  823.  
  824.   -ehb                    forces use of 6-bitplane extra-half-brite code
  825.  
  826.   -mousepointer           leaves the mouse pointer on
  827.  
  828.   -forceversion <number>  send different version number to other net node(s)
  829.  
  830.   -pcchecksum             calculate net packet checksums the PC way (not Linux)
  831.  
  832.  
  833.  
  834. CHUNKY TO PLANAR:
  835. -----------------
  836.  
  837. For native screenmodes on 68040+, ADoom uses a CPU-only C2P routine.
  838. For EHB on 68040+ it also uses a comparison buffer.  I timed it on my
  839. WarpEngine as being faster on average than a routine without a
  840. comparison buffer.  The comparison buffer method is temporary until I
  841. can figure out some sort of list of dirty-bounding-boxes thingy.
  842.  
  843. From version 0.4, ADoom in native Amiga modes (AGA and ECS)
  844. double-buffers.
  845.  
  846. From version 0.4, ADoom uses a blitter-assisted C2P routine on
  847. 68020/30.  The blitter does the latter half of the C2P conversion in
  848. chipmem while the 3D engine renders the next frame to fastmem.  It
  849. also double-buffers --- a necessity for this approach.  On a 50MHz
  850. 68030, C2P CPU-time is 3 times less than in version 0.3.
  851. Unfortunately it looks as if C2P is only a small fraction of total
  852. time anyway, maybe 10..15%.  In version 0.6 I replaced the AGA 68030
  853. C2P that did 2 CPU merges and 2 blitter passes with one based on
  854. Mikael Kalms' routine that does 3 cpu merges and 1 blitter pass.
  855.  
  856. C2P for ECS (EHB) modes takes longer because there is an extra table
  857. lookup for each pixel.  It converts 8-bit -> 6-bit.
  858.  
  859. ADoom renders to fastmem and uses WriteChunkyPixels() or
  860. WritePixelArray8() on gfx-cards.
  861.  
  862. Several people asked me to make a version which renders directly to
  863. the CyberGraphX framebuffer, like Trance's AmiDoom and RTGMaster.  I
  864. started doing this, but didn't finish.  I did some more work on it for
  865. ADoom version 1.0, but it's still not working properly.  To try it
  866. with CyberGraphX, use the -directcgx option or DIRECTCGX icon
  867. tooltype.  Note that the DIRECTCGX tooltype wasn't recognised before
  868. version 1.2.
  869.  
  870. Double-buffering with -directcgx works properly now and eliminates the
  871. flicker.  However I'm having major problems reading anything back from
  872. a CyberGraphX Window.  ReadPixelArray8() from the non-displayed part
  873. of the Window seems to return junk.  Is there a bug in
  874. cybergraphics.library?  Similarly LockBitMapTags() followed by
  875. memcpy() from the base address seems to return junk.  Is the GVP
  876. Spectrum 28/24 frame-buffer write-only?  Anyway, the symptom with
  877. ADoom -directcgx is that the screen wipe at the start of each level
  878. makes a mess, but everything else seems to work.  Another problem is
  879. that the 320x200 framebuffer on some gfx-cards is interlaced instead
  880. of a plain rectangular array.  On these cards DIRECTCGX causes the
  881. display to look like several tiled windows.
  882.  
  883.  
  884.  
  885. RENDERING:
  886. ----------
  887.  
  888. Version 0.5 uses fast column and span renderers by Aki Laukkanen.  Aki
  889. supplied seperate 68060-optimised routines.  These are selected if you
  890. have a 68060, provided you have SetPatch and 68060.library correctly
  891. installed.
  892.  
  893.  
  894.  
  895. PICASSO96:
  896. ----------
  897.  
  898. I developed ADoom using CyberGraphX and I have not tested ADoom with
  899. Picasso96 graphics libraries.  On the other hand, many users reported
  900. ADoom works just fine with Picasso96.  A couple of people reported
  901. problems with the P96 1.34a update.  See UserHints.txt.
  902.  
  903.  
  904.  
  905. ZORRO-2 GFX-CARDS:
  906. ------------------
  907.  
  908. ADoom works with Zorro-2 graphics cards, but you will likely find that
  909. performance is slightly worse than in AGA modes.  That's because the
  910. memory transfer speed of Zorro-2 is slower than 32-bit chipmem ---
  911. believe it or not.
  912.  
  913. With a fast-enough CPU, ADoom uses the all the memory transfer
  914. bandwidth in both cases.  That's in spite of converting chunky to
  915. planar at the same time in the case of AGA.  That's also in spite of
  916. FAQs still arguing that planar is 8 times slower than chunky for
  917. texture-mapping.  So choose an AGA mode for better performance.  Or,
  918. better still, get a Zorro-3 (or faster) gfx-card, and the right buster
  919. chip for it.
  920.  
  921.  
  922.  
  923. GRAFFITI:
  924. ---------
  925.  
  926. In version 1.2 I added some code to support Graffiti adaptors using
  927. graffiti.library, but it probably doesn't work  :(
  928.  
  929. If you want to try it anyway, use -graffiti for 320x256, or -graffiti2
  930. for 640x256 (AGA only).
  931.  
  932. It would be nice if someone could look at amiga_video.c in the source
  933. code archive and tell me why it doesn't work.  Perhaps the Window
  934. ADoom opens for IDCMP screws it up?
  935.  
  936. Why is graffiti.library so slow, anyway?  C2P in the same resolution
  937. is nearly 3 times faster on my WarpEngine.
  938.  
  939. I used Graffiti programming information downloaded from:
  940.  
  941.     http://www.fh-zwickau.de/~jod/graffiti.html
  942.  
  943.  
  944.  
  945. 68060:
  946. ------
  947.  
  948. Several people reported extremely poor performance on their 68060
  949. systems, although that was mostly with ADoom versions before 0.5.  If
  950. that happens to you, try using the FastExec (whatever that is) "SSP to
  951. FastMem" option.  Several 68060 users told me that made a huge speed
  952. difference.  Shaun Falkenberg (shaunf@box.net.au) suggests the
  953. equivalent option in MCP might be better because it saves a reboot on
  954. cold startup.  OxyPatcher is yet another alternative.
  955.  
  956. ADoom 0.5 uses 68060-specific fixed-point routines which don't use
  957. 64-bit MULS & DIVS on 68060.  You must have SetPatch and 68060.library
  958. correctly installed for these faster routines to be selected.  Version
  959. 0.6 uses the FPU for both fixed-point multiplies and divides on 68060.
  960. Version 0.5 used the FPU for fixed-point divides and 32-bit integer
  961. instructions for fixed-point multiplies on 68060.
  962.  
  963. In version 0.6 I added the -mmu option and MMU icon tooltype to mark
  964. the chunky buffer and chip raster as "imprecise" using the MMU.  I
  965. used Aki Laukkanen's MMU code for this.  This may speed up ADoom on
  966. 68040+MMU and 68060+MMU systems slightly, by better scheduling memory
  967. accesses.
  968.  
  969.  
  970.  
  971. LIMITATIONS:
  972. ------------
  973.  
  974. Play-tested for a few hours on an A3000 + WarpEngine + GVP Spectrum +
  975. Cybergraphics running OS3.1 and Enforcer, on which it seems to run
  976. very smoothly.  Many people reported success with earlier versions of
  977. ADoom.  I think I finally fixed all the crash on exit bugs.  I think
  978. the teleport bug is fixed.
  979.  
  980. Outstanding bugs possibly include problems with -record and -playdemo,
  981. problem using -timedemo without also -forcedemo, network problems and
  982. problems loading the original registered doom.wad.  A couple of people
  983. reported crashes on exit with the -fps option in version 0.9.  However
  984. bugs are becoming rarer these days.  Hopefully I didn't introduce too
  985. many new ones in the latest version...
  986.  
  987. Someone told me the mysterious "PNAMES not found" bug, reported by
  988. about half a dozen people, is still present in version 0.9, so it's
  989. probably still there in version 1.2 too.  On the other hand, I can't
  990. reproduce this problem.  I wonder if it might be a symptom of a
  991. corrupt WAD file.
  992.  
  993.  
  994.  
  995. WORLD WIDE WEB SITES:
  996. ---------------------
  997.  
  998. There is no official ADoom Web page.  Sorry, but I just haven't got
  999. time to support one.  However I'm quite happy for anyone to make ADoom
  1000. available from their page.
  1001.  
  1002. There are several web pages specialising in DOOM for the Amiga.  Some
  1003. good ones are:
  1004.  
  1005.     http://adoom.ml.org/     has about 6 other Amiga DOOM ports
  1006.  
  1007.     http://surf.to/adoom/    fast mirror of http://adoom.ml.org/
  1008.  
  1009.     http://homepages.which.net/~bartlett/    the Amiga DOOM Bible
  1010.  
  1011.     http://hem2.passagen.se/sids/adoom/    an ADoom-only page
  1012.  
  1013.     http://www.balldesi.demon.co.uk/    for the latest speed benchmarks
  1014.  
  1015.     http://www.boehme.demon.co.uk/aliens.html    some tested 3rd party WADs
  1016.  
  1017.     http://fiction.pb.owl.de/~frank/    for a PPC port of ADoom
  1018.  
  1019. and Aminet, of course.
  1020.  
  1021.  
  1022.  
  1023. BUGS FIXED:
  1024. -----------
  1025.  
  1026. 1.2
  1027.  
  1028. ADoom 1.0 and 1.1 crashed displaying the Hell Knight in the DOOM2
  1029. finale.  Fixed.
  1030.  
  1031. Applied bug fixes from Cyril Deble for various bugs in rotatemap,
  1032. maponhu and dehacked.
  1033.  
  1034. DIRECTCGX and DEH weren't recognised as tooltypes.  Fixed.
  1035.  
  1036. First sky column was often corrupt.  Fixed.
  1037.  
  1038. Explicitly set topaz8 font.  The -fps option crashed before if a
  1039. larger font was used and text overflowed the bitmap.
  1040.  
  1041. Translate keys '<' to ',' and '>' to '.' so SHIFT and strafe work at
  1042. the same time.  Numeric keys '1'..'9' and '0' are translated directly
  1043. from the raw keycode instead of using MapRawKey() so you don't need
  1044. SHIFT to change weapons on French keyboards.  The DEL key is now the
  1045. same as F11 (change gamma) instead of KEY_BACKSPACE.
  1046.  
  1047. Fixed problem with cooperative network games beyond the first level.
  1048.  
  1049. Messages sent in network play with 't' were always translated using a
  1050. French keymap.  Fixed.
  1051.  
  1052. IDCLEVnn cheat didn't work with commercial WADs.  Fixed.
  1053.  
  1054. 1.1
  1055.  
  1056. ADoom couldn't open keymap.library on OS3.0 Amigas.  Fixed.
  1057.  
  1058. Restored MAXVISSPRITES, MAXDRAWSEGS and MAXVISPLANES to their original
  1059. values.  They took up too much memory and often caused structures to be
  1060. allocated in chipmem, slowing the game down.
  1061.  
  1062. 1.0
  1063.  
  1064. ADoom should now be sensitive to international keyboards.
  1065.  
  1066. Bug with palette colour index 0 not being set in v0.9 fixed.
  1067.  
  1068. EHB modes on 68020/68030 flickered badly when the display flashed in
  1069. v0.9.  Fixed.
  1070.  
  1071. ADoom now precalculates all 14 possible EHB palettes for the gamma
  1072. level whenever the gamma level changes, so there is no stall when the
  1073. palette changes in the game (except when you change the gamma level).
  1074.  
  1075. ScreenModeRequester defaults to a more intelligent ScreenMode.
  1076.  
  1077. 0.9
  1078.  
  1079. Made it possible to CTRL/C out of network synchronisation wait loop.
  1080.  
  1081. Applied patches to am_map.c supplied by Cyril Deble to fix bugs map
  1082. markers and boundaries with -rotatemap and -maponhu.
  1083.  
  1084. Fixed some serious memory allocation/deallocation bugs in w_wad.c.
  1085. See amiga_notes.txt.
  1086.  
  1087. The TURBO tooltype corresponding to the -turbo option (whatever that
  1088. is) isn't a flag, it takes an argument.  ADoom was treating it as a
  1089. flag.  Fixed.
  1090.  
  1091. 0.8
  1092.  
  1093. Got rid of the warning message for every sound effect when -nosfx is
  1094. used.
  1095.  
  1096. Lowered the volume of music and sound effects.  That eliminated the
  1097. clicks and pops in music and enabled the full range of the sound
  1098. effect volume slider to have effect.
  1099.  
  1100. Fixed (harmless) missing #endif in d_main.c.
  1101.  
  1102. Fixed bug in r_things.c, info.c and info.h.  I wonder if this fixed
  1103. the "PNAMES not found" bug.  See amiga_notes.txt.
  1104.  
  1105. Applied patch supplied by Aki to DrawColumn_060() in amiga_draw.s to
  1106. fix problem with red stairs and random pixels on 68060.
  1107.  
  1108. 0.7
  1109.  
  1110. In 0.6 I accidently introduced a serious bug into the C2P routine used
  1111. for 68040+AGA and 68060+AGA.  Fixed this for version 0.7.
  1112.  
  1113. In 0.6 I accidently introduced a serious bug in the MMU cleanup
  1114. routine when -mmu is used or the MMU icon tooltype is used.  Fixed for
  1115. version 0.7.
  1116.  
  1117. 0.6
  1118.  
  1119. Fixed bug in low detail mode and re-enabled it, thanks to a note from
  1120. Georg Steger <steger@pass.dnet.it>, the author of DoomAttack, and some
  1121. assembly code from Aki Laukkanen.
  1122.  
  1123. The monster-counting bug (also the problem with "Dead Simple") was
  1124. caused by SAS/C generating unexpected code for function pointer
  1125. comparisons in "if" statements with CODE=NEAR.  See amiga_notes.txt in
  1126. the source archive.
  1127.  
  1128. Version 0.5 had a bug in the DrawSpan() routines which left bright
  1129. dots scattered around the floors and ceilings and red stairs at the
  1130. start.  Applied patch supplied by Aki Laukkanen.
  1131.  
  1132. Music tones are now PAL/NTSC sensitive.
  1133.  
  1134. Fixed the bug which sometimes caused crash on exit when music is
  1135. enabled.
  1136.  
  1137. 0.5
  1138.  
  1139. The call to BestModeID() in amiga_video.c had an unterminated taglist.
  1140. Fixed.
  1141.  
  1142. Whoops it never worked under OS2.1 after all.  For now I've changed it
  1143. so ADoom refuses to start on less than OS3.0.  Currently I think
  1144. LoadRGB32() is the only V39 function used.  ADoom 0.4 was also calling
  1145. BestModeID() and failing to autoopen lowlevel.library.
  1146.  
  1147. 0.4
  1148.  
  1149. Gamma correction tables weren't being used in ECS modes.  Fixed.
  1150.  
  1151. Set default task priority to -5 because ADoom is unfriendly to other
  1152. tasks otherwise.  Added -taskpriority commandline option and
  1153. TASKPRIORITY icon tooltype, so you can set whatever priority you like.
  1154.  
  1155. I think I finally fixed the crash on exit bug.  Two commas were
  1156. missing in dstrings.c.  I haven't had a crash for a long time now.
  1157.  
  1158. 0.3
  1159.  
  1160. In ADoom versions up to 0.2, setting graphics detail LOW and then
  1161. resizing the display resulted in corrupt graphics.  Crashes were
  1162. possible.  Indeed, LOW detail didn't work at all.  This appears to be
  1163. a bug in the original Linux source.  I can't see how LOW detail is
  1164. supposed to work, so for now I've disabled LOW detail in ADoom 0.3.
  1165.  
  1166. ADoom exclusively allocates the 2nd gameport for the joystick.  It
  1167. seems that many people have something in their startup which
  1168. exclusively allocates the gameport, in which case ADoom v0.2 refuses
  1169. to run.  BlitzBlanker is one such culprit.  ADoom 0.3 runs with the
  1170. joystick disabled if it can't exclusively allocate the gameport.
  1171.  
  1172. Added -forcedemo option in v0.3 to override the version check when
  1173. playing demos.  The FORCEDEMO icon tooltype does the same thing.
  1174. There is a risk something might go wrong if the versions don't match,
  1175. but I haven't observed any problems so far.
  1176.  
  1177. Early versions of DOOM had a sound pitch change feature.  That is, the
  1178. same sound sounds effect could be played at different notes.  I
  1179. reproduced this feature in ADoom 0.1 and ADoom 0.2.  However more than
  1180. one user told me this feature was removed from recent versions of DOOM
  1181. and some effects sound wrong in ADoom.  Therefore I disabled the pitch
  1182. change feature in ADoom v0.3.  It is still there and can be enabled
  1183. with the -changepitch option or CHANGEPITCH icon tooltype.
  1184.  
  1185. 0.2
  1186.  
  1187. Early versions of ADoom required the HOME environment variable to be
  1188. set.  This confused a lot of people.  Since version 0.2, ADoom saves
  1189. its prefs file (.doomrc) in the current directory if HOME is not set.
  1190.  
  1191. Early versions of ADoom crashed if there wasn't enough memory
  1192. available.  Since version 0.2, ADoom checks the result of the main (up
  1193. to 6 Mb) memory allocation.  There are still a few places where small
  1194. memory allocations are not checked.
  1195.  
  1196.  
  1197.  
  1198. THANKS:
  1199. -------
  1200.  
  1201. Thanks to John Carmack and ID Software for one of the best games ever!
  1202.  
  1203.  
  1204.  
  1205. Peter McGavin.  (p.mcgavin@irl.cri.nz)
  1206.